Computer systems and other information display systems are increasingly displaying multi-media information. For example, computer systems may be used as presentation systems which may provide the simultaneous display of different data on multiple displays. For example, if a user wishes to use a larger display device, such as a large screen projector, a single computer system may display data that is different than a user's corresponding lap top display device—which may include, for example, notes that are not shown on the large screen projector. However, such systems typically employ separate video engines. For example, where the information to be displayed includes both video information and graphics information, such as where a video game is running and being displayed at the same time that a movie is being displayed within a same display screen, two separate video processing and overlay paths are required. Typically, one path is dedicated to one display engine and another video processing and overlay path is dedicated for another display engine. Each display engine is dedicated to a different display device.
In addition, other systems generally only allow video overlay capability on one of the displays. As such, one of the two display engines does not have the capability to overlay information on a second display. This is typically done to minimize cost and complexity of the system as well as to reduce difficulty in designing a system that can employ video overlay on each of the display devices.
Also, systems that may employ two separate display paths may have two display engines, each with video overlay capability. However, in such systems, the processing paths may each include a separate video scaler. A video scaler, as known in the art, may increase or reduce the size of the video to be displayed within a window, or to be overlaid with graphics (i.e., non-video data) being displayed on the display device. Dual video scalers increase the cost of the system and also introduce a bandwidth problem, since two scalers are typically requesting data from the frame buffer at the same time. This can degrade system performance. Accordingly, systems also may typically provide dual or simultaneous display of overlay information on multiple devices, but typically require the duplicity of video scalers and display engines.
In such a system, one display engine provides video window-timing data, such as video window-timing parameters, which define the size and position of the overlay in the viewing area. The start and ending points of the video window on the screen and other data, known in the art as graphics display data, may be packed by a data packer in the display engine. The other display engine for the other path does not allow for video overlay and thus is without video window-timing information and is simply a graphics data packer and graphics timing provider. As known in the art, a keyer mixes video and graphics data to see which information is overlaid on top of the other information. The output from the keyer is typically the overlaid information, which may be output to a digital to analog converter (DAC) and LCD display engine or other suitable display device. In addition, such systems typically use separate data packers, one dedicated to each display engine, and only one of the packers includes a keyer. The second packer does not provide overlay information, and as such, simply packs the display data in a form that is understood by the DAC.
Consequently, there exists a need for a system that can provide video overlay information on one of any of a plurality of displays so that any display may alternately be used to display video overlay information. It would be desirable if such a system improved bandwidth problems and reduced the number of required video scalers. It would also be desirable if such a system utilized one video resource.